using System;
using System.Collections.Generic;
namespace ServiceStack.Web
{
	public interface IRequestLogger
	{
		bool EnableSessionTracking
		{
			get;
			set;
		}
		bool EnableRequestBodyTracking
		{
			get;
			set;
		}
		bool EnableResponseTracking
		{
			get;
			set;
		}
		bool EnableErrorTracking
		{
			get;
			set;
		}
		string[] RequiredRoles
		{
			get;
			set;
		}
		Type[] ExcludeRequestDtoTypes
		{
			get;
			set;
		}
		Type[] HideRequestBodyForRequestDtoTypes
		{
			get;
			set;
		}
		void Log(IRequest request, object requestDto, object response, TimeSpan elapsed);
		List<RequestLogEntry> GetLatestLogs(int? take);
	}
}
